package ce.com.cenewbluesdk.queue;

import java.util.HashMap;

import ce.com.cenewbluesdk.entity.CEDevData;
import ce.com.cenewbluesdk.entity.QueueSendData;

/**
 * Created by Administrator on 2016/11/9 0009.
 */
public abstract class CEProtocolBase {

    protected HashMap <Integer,CEDevData> dataHashMap=new HashMap<>();

    /**
     * 每次发送byte 数组的长度
     */
    public int pageL=20;

    /**
     * 获取一个需要发送的字节
     * @param devData
     * @return
     */
    public abstract QueueSendData getSendData(CEDevData devData);

    /**
     * 这个方法是将收到的字节转换成 CEDevData 如果数据还没有收完，则返回null
     * @param bytes
     * @return
     */
    public abstract CEDevData Analysis(byte [] bytes);

    public abstract void removeMapData(Integer dateTypeKey);

    public abstract byte[] convertACK(byte ack);
}
